home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Taifun
/
Taifun 121 (1990-02-15)(Ossowski, Stefan)(DE)(PD).zip
/
Taifun 121 (1990-02-15)(Ossowski, Stefan)(DE)(PD).adf
/
PowerPacker2.3a
/
Packer.doc
< prev
next >
Wrap
Text File
|
1989-10-07
|
21KB
|
514 lines
CACTUScactusCACTUScactusCACTUScactusCACTUScactusCACTUScactusCACTUScactus
U U
S POWERPACKER S
E *********** E
R Übersetzt 6/89 von C.A.C.T.U.S. (Guido Coenen) R
S S
cactusCACTUScactusCACTUScactusCACTUScactusCACTUScactusCACTUScactusCACTUS
Power Packer 2.2a Benutzeranleitung
8. Mai 1989
Vorwort
=======
Gratuliere, Du hältst eine Kopie des PowerPacker 2.2a in Händen, der
Befehls- und Datencruncher von Power Peak für den Amiga.
Wenn Du Vorschläge oder Anmerkungen hast, oder wenn Du sogar einen Fehler
im Programm gefunden hast, dann laß mich es bitte wissen.
Die vorliegende Version von PowerPacker ist Shareware. Das heißt, wenn Du
viel damit arbeitest, würde ich es sehr begrüßen, wenn Du mir eine kleine
Anerkennung von 10 Dollar oder denselben Gegenwert in anderer Währung
(ca. 20 DM) zuschickst. Dieses geld würde mir weiterhelfen, noch mehr
Programme für den Amiga zu schreiben. Für 15 Dollar schicke ich Dir sogar
die neuste Version des PowerPacker.
Schreibe bitte an folgende Adresse:
Nico François
Corbielaan 13
3060 Bertem
BELGIEN
--------------------------------------------------------------------------
Inhalt
======
1. Der Packer
1.1 Eine Einführung
1.2 Die Dateiauswahlbox
1.3 Die grundlegenden Menüs
1.3.1 Project
1.3.2 Prefs
2. Recrunchen
2.1 Wie ?
2.2 Warum ?
3. Das HunkLab
3.1 Preferences
3.2 Process file
4. Das Script-Menü
5. Das Supervisor-Fenster
6. Eine Beispielsitzung
7. PowerPacker 2.2a und der CLI
--------------------------------------------------------------------------
1. Der Packer
-------------
1.1 Eine Einführung
Der PowerPacker ist ein benutzerferundlicher Befehls- und Datencruncher.
Das bezeichnet ein menügesteuertes Hilfsprogramm, das fast alle Dateien
Deiner Disketten crunchen kann. Bei der ersten Benutzung sollte man sich
an eine bestimmte Reihenfolge halten (wie wir in Abschnitt 6 dieser
Anleitung noch sehen werden).
(a) Stelle im Preferences-Menü die Arbeitsbedingungen ein.
(b) Lade die Datei im Projekt-Menü von der Diskette.
(c) Warte darauf, daß die Datei ge- oder entcruncht wurde.
(d) Speichere die datei im Projekt-Menü zurück auf Diskette.
Außer Crunchen kannst Du auch Dateien entcrunchen, die von anderen Packern
gecruncht wurden.
Das HunkLab ermöglicht es Dir, z.B. code- oder data-hunks ins Chip-Ram zu
legen.
Die Scriptfähigkeit läßt es zu, dutzende Dateien über Nacht zu crunchen.
Bevor ich aber die Benutzung des PowerPackers demonstriere, schauen wir
uns einmal die Dateiauswahlbox an und sehen einmal durch die Menüs und
Fähigkeiten.
1.2 Die Dateiauswahlbox
Jedesmal, wenn Du einen Dateinamen eingeben sollst, erzeugt der Packer
eine Dateiauswahlbox. Diese Box enthält automatisch alle angeschlossenen
Geräte und listet alle Dateien des aktuellen Verzeichnisses inklusive
ihrer Länge auf.
Du mußt nicht auf das Ende des Verzeichnislesens warten. Sobald Du eine
Datei angezeigt bekommst, kannst Du sie auswählen, oder Du kannst einen
Namen in das Eingabefeld eintippen.
Wartest Du allerdings auf das Ende des Verzeichnislesens und verläßt die
Dateiauswahlbox, dann enthält sie beim nächsten Gebrauch alle Dateinamen
sofort, und Du mußt nicht auf das Lesen des Verzeichnisses warten.
Das macht sich besonders beim Anlegen von Scripts bemerkbar, wie wir
später sehen werden.
Diese Fähigkeit hat allerdings auch einen Nachteil: Wurden dem Verzeichnis
nachträglich Dateien hinzugefügt oder gelöscht, zeigt die Dateiauswahlbox
diese Dateien entweder gar nicht, oder mit der falschen Dateilänge an.
Wenn Du also glaubst, daß sich irgendetwas im Verzeichnis geändert hat,
dann benutze den Schalter "GET DIR", um das Verzeichnis erneut einzulesen.
Wenn Du z.B. ein gecrunchtes Programm unter dem alten Namen wieder
speicherst, wird noch die alte Länge angezeigt.
1.3 Die grundlegenden Menüs
1.3.1 Project
das Project Menü enthält die Menüpunkte, um Dateien zu bearbeiten.
Die meisten davon sprechen für sich selbst:
Load -> Lade eine Datei und beginne mit dem Crunchen/Entcrunchen.
Save -> Speichere die gecrunchte/entcrunchte Datei wieder auf Disk.
Delete -> Lösche eine Datei von Diskette.
WorkBench -> Sofern möglich, öffne oder schließe die Workbench (+42K !)
Sleep -> Versetze den PowerPacker in Wartestellung auf der
Workbench (spart 40-50K).
WARNUNG: Alle Puffer werden gelöscht, also solltest Du
vorher alles abspeichern.
About... -> Zeige allgemeine Informationen und meine Adresse.
Quit -> Beende das Programm.
1.3.2 Prefs
Das Prefs-Menü enthält alle Einstellungen des Crunchers/Entcrunchers.
Du kannst einstellen, ob Du Befehlsdateien oder Daten bearbeiten möchtest.
Wenn Du möchtest, daß die gecrunchte Version ausführbar ist, dann
wähle "Command File". Nun weiß PowerPacker, daß er einen Entcruncher-
Vorspann schreiben soll (572 Bytes).
Wenn die zu crunchende Datei nur Daten enthält (z.B. Quellcodes selbstge-
schriebener Programme), wählst Diu einfach "Data File". Das kann nützlich
in Verbindung mit den PowerPacker-CLI-Befehlen sein. Diese Befehle werden
in Abschnitt 5 dieser Anleitung beschrieben.
Das Untermenü "Decrunch Color" enthält die folgenden Punkte:
Color 0 -> Beim Entcrunchen wechselt die Hintergrundfarbe.
Color 1 -> Beim Entcrunchen wechselt die Textfarbe.
Pointer -> Beim Entcrunchen wechselt die Farbe des Mauszeigers.
Scroll -> Schüttel-Effekt auf der Workbench.
None -> Gar nix (für Augengeschädigte).
Diese Optionen geben an, was beim Entcrunchen mit der Datei passiert.
Vor dem Abspeichern einer gecrunchten Datei kannst Du diese Einstellung
ändern, so daß Du mehrere Versionen desselben Programmes, aber mit
unterschiedlichen Entcruncheffekten abspeichern kannst.
Wurde vorher "Color Crunch" eingestellt, wird der hier eingestellte Effekt
bereits beim Crunchen vorgeführt, so daß Du einen Eindruck vom späteren
Entcrunchvorgang erhältst (sofern die Einstellung nicht vor dem Speichern
wieder geändert wird). Voreingestellt ist hier "Color 1".
Im Untermenü "Efficiency" findets Du folgende Einstellmöglichkeiten:
Fast -> Für kleine Dateien oder schnelles Crunchen.
Mediocre -> Besser, aber zeitaufwendiger.
Good -> Voreingestellt, spart zumeist 40-50% Platz.
Very Good -> Noch langsamer!
Best -> Nur für den Script-Gebrauch zu empfehlen, extrem lahm!
Anmerkung: "Fast" ist vier mal so schnell wie "Good", während "Very Good"
halb so schnell ist und "Best" viermal so lange braucht.
"Best" ist übrigens nicht immer die Optimaleinstellung. Kleine Dateien
werden am besten mit "Very Good" oder sogar "Good" gecruncht.
Durch das Abschalten des Multitasking wird übrigens die Crunchgeschwindig-
keit etwas schneller. Voreingestellt ist "ein". Wenn Du den PowerPacker
neben anderen Programmen benutzt, kannst Du möglicherweise während des
Crunchens weiterarbeiten. In diesem falle dürfte die Möglichkeit des
"LED Crunch" interessant sein. In diesem Falle blinkt die Power-LED
während des Crunchens.
Du kannst nun sogar Deinen Monitor abschalten un trotzdem sehen, wenn
der Cruncher fertig ist.
Außerdem kannst Du die "Paging"-Schaltung im Supervisor-Fenster
einschalten, so daß Du alle Crunch- und Hunk-Informationen ohne
Zeitdruck lesen kannst.
Anmerkung: Während des Crunchens kannst Du den aktuellen Vorgang mit der
gleichzeitigen Betätigung beider Maustasten abbrechen.
Das Diskettenwechseln bei ausgeschaltetem Multitasking bringt
den Amiga todsicher zum Absturz.
--------------------------------------------------------------------------
2. Recrunchen
-------------
2.1 Wie ?
Dieses Menü ist für diejenigen vorgesehen, die vorher mit einem anderen
Cruncher oder einer älteren Version des PowerPacker gearbeitet haben.
Wähle einfach "Recrunch File" oder "Decrunch Only" und lade die Datei.
Der PowerPacker wird nun den richtigen Entcrunchalgorithmus ausführen.
Bei Auswahl von "Recrunch" wird der PowerPacker direkt nach dem Entcunchen
die datei erneut crunchen. erkennt der PowerPacker nicht, um welchen
Cruncher es sich handelt, teilt er das dem Anwender mit und verursacht
weiter keinen Schaden. Wenn Du "Recrunch Always" anwählst, cruncht der
PowerPacker auch dann neu, wenn die Datei mit der vorliegenden PowerPacker-
Version gecruncht wurde. Das ist nützlich, um Dateien mit höherer Effizienz
zu crunchen (z.B. eine mit "Fast" gecrunchte Datei mit "Best" erneut
crunchen).
Zur Zeit werden folgende Cruncher erkannt:
'ANC Cruncher', 'TNM Cruncher 1.1', 'Relokit 1.0', 'HQC Cruncher 2.0',
'MasterCruncher 3.0', 'DragPack 1.0' und ältere PowerPacker-Versionen.
Möchtest Du, daß noch andere Cruncher berücksichtigt werden, dann schicke
mir bitte den entsprechenden Cruncher zusammen mit einigen Programmen, die
damit gecruncht wurden. Ich hoffe, Dein Shareware-Beitrag ist ebenfalls
dabei. Wenn es möglich sein sollte, einen Entcrunch-Algorithmus zu finden,
werde ich ihn in die nächste Version des Powerpacker einbauen.
2.2 Warum ?
Der PowerPacker cruncht besser als 'ANC Cruncher', 'TNM Cruncher' und
'HQC Cruncher'. Meistens cruncht er auch besser als "Relokit", aber selbst
wenn das nicht klappt, solltest Du trotzdem mit PowerPacker recrunchen.
Relokit hat nämlich einige große Nachteile: Beim Programmlauf wird der
Speicher für die gecrunchte Version noch nicht freigegeben. Im Gegensatz
dazu benötigt der PowerPacker bei einem Programmlauf nur 500 Bytes, die
selbstverständlich nachher wieder freigegeben werden.
Anmerkung:
Möchtest Du eine mit PowerPacker 1.1 oder 2.0 gecrunchte Datei recrunchen,
ersetzt der PowerPacker lediglich den Header durch den fehlerfreien und
verbesserten 2.2-Header (sofern Du nicht "Recrunch Always" gewählt hast).
Das Recrunch-Menü unterstützt nur Befehlsdateien! Du kannst Daten-Dateien
nicht recrunchen; tut mir leid.
--------------------------------------------------------------------------
3. Das Hunklab
--------------
3.1 Preferences
Dieses Menü ist eigentlich kein Teil der Crunch-/Entcrunch-Routinen, aber
es lohnte sich nicht, ein separates Programm dafür zu schreiben. Und ein
HunkLab ist schließlich auch ein interessantes Hilfsprogramm. Du kannst
es z.B. dazu benutzen, um Symbol-Hunks und Debug-Hunks aus Dateien zu
entfernen, die sich ansonsten nicht crunchen ließen.
Du kannst außerdem die CODE-, DATA- oder BBS-Hunks ins Chip-RAM legen oder
Symboltabellen und Debug-informationen einfach durch Betätigen des
entsprechenden Schalters entfernen. Möchtest Du also, daß deine Programme
auch mit Speichererweiterung laufen, reicht ein einfacher Klick mit dem
Mausknopf!
3.2 Process file
'Process file' liest eine Datei von Diskette ein und verändert sie
entsprechend der Einstellungen. Um die bearbeitete Datei zu speichern,
mußt Du im Project-Menü "SAVE" anwählen. Der Menüpunkt 'Process & Crunch'
bearbeitet die Datei und cruncht sie anschließend (sofern möglich).
Auch hier kannst Du wieder mit "SAVE" aus dem Project-Menü speichern.
Anmerkung: Debug- und Symbol-Hunks werden nur von Debuggern benötigt, so
daß Du sie ruhig aus dem Programm entfernen kannst (solange Du
nicht mit einem Debugger arbeiten möchtest).
--------------------------------------------------------------------------
4. Das Script-Menü
------------------
Das Script sit etwas, was Dir eine Menge Zeit sparen wird. Es ermöglicht
Dir, bis zu 80 verschiedene Befehle aufzunehmen, die nacheinander ausge-
führt werden. Ideal zum Crunchen vieler Dateien über Nacht.
Folgende Menüpunkte stehen zur Verfügung:
'Clear Script':
Löscht ein Script.
'List Script':
Zeigt ein Script auf dem Bildschirm.
'Script Log File':
Die Bildschirmausgabe wird in eine Datei umgeleitet, die Du hier
angeben kannst. Gehst Du auf CANCEL, wird keine Log-Datei angelegt.
'Destination Dir':
Hier kann man angeben, in welches Verzeichnis gespeichert werden
soll. Im Normalgebrauch kann dieser Punkt nicht angewählt werden.
'Start Recording':
Damit wird die Aufnahme eines Scripts begonnen. War das Script vorher
leer, wirst Du nach dem Zielverzeichnis gefragt. Das Programm fragt
Dich außerdem, ob an die erzeugten Dateien die Endung ".pp22" ange-
hängt werden soll.
Bei Daten-Dateien ist das sehr zu empfehlen.
Nach dem Auswählen des Zielverzeichnisses kannst Du die Script-Befehle
eingeben. Alles, was in "Geisterschrift" dargestellt ist, kann nun
nicht als Befehl benutzt werden. Verhalte Dich jetzt einfach so, als
würdest Du wie üblcih mit dem PowerPacker arbeiten. Wenn Du z.B.
"LOAD" auswählst, zeigt Dir der PowerPacker die Dateiauswahlbox.
Anmerkung: Auch während der Script-Aufnahme kannst Du Quell- und
Zielverzeichnis wechseln.
Jeder eingegebene Befehl wird im Supervisor-Fenster angezeigt.
'Stop Recording':
Damit kann die Scripteingabe beendet werden.
'Delete Last':
Nach Bestätigung wird das letzte Scriptkommando gelöscht.
'Execute Script':
Damit werden die Scriptbefehle nun tatsächlich ausgeführt. Bei
Betätigung der rechten Maustaste erscheint ein Abfragefenster, in
dem Du gefragt wirst, ob Du die Script-Ausführung abbrechen möchtest.
Nach Ausführung eines Scripts erscheint eine Abfrage, ob das Script
gelöscht werden soll.
Anmerkung: Es ist ratsam, vor der Auswahl von Dateien die Dateiauswahlbox
erst einmal alle namen laden zu lassen. Es ist ebenfalls ratsam,
nicht allzu oft das Quellverzeichnis zu ändern.
Bei Scriptausführung wird der Bildschirm grün.
Bei Scriptausführung verhält sich der PowerPacker stets
destruktiv. Bereits vorhandene Dateien werden stets
überschrieben und gelöscht.
--------------------------------------------------------------------------
5. Das Supervisor-Fenster
-------------------------
Dieses Fenster zeigt allerlei nützliche Informationen an wie den
Dateistatus, Crunchmeldungen und Fehlermeldungen. Du kannst hier alle
Schritte vom Laden der datei bis zur gecrunchten Version verfolgen.
Bei Laden einer ausführbaren Datei wird deren Hunk-Information angezeigt.
Diese Information ist ziemlich technisch, kann aber nützlich für
Programmierer sein. Bist Du nicht daran interessiert, dann ignoriere
es einfach.
Vielleicht ist es mal ganz hilfreich, eine Liste aller möglichen
Fehlermeldungen zu geben:
(De)crunchen: Buffer overflow !
(Gecrunchte Datei wird länger als das Original)
Crunch aborted !
(Crunchen vom Benutzer oder Buffer Overflow beendet)
No memory for decrunch buffer !
Out of memory !
(Kauf Dir noch etwas Speicher)
Sorry, can't crunch !
(Ein höfliches Programm, nicht?)
Can't find hunk_header.
Hunk not allowed in load file!
Unknown Hunk !
(Keine Befehlsdatei)
Hunk not supported (yet ?) !
(Falls Symbol oder Debug Hunk, entferne ihn im HunkLab)
Nothing to save !
(Puffer ist leer)
Save Aborted !
Error reading file !
Can't open file !
Error writing data header !
Error writing buffer !
File not found !
Couldn't delete file !
Can't open file !
(Diskettenfehler)
Recrunchen : No need to recrunch 'PowerPacker 1.1' command file,
Replacing 1.1 decrunch header with 2.2 header...
(2.2-Header ist kürzer und fehlerfrei, 1.1 nicht !!)
No need to recrunch 'PowerPacker 2.0' command file,
Replacing 2.0 decrunch header with 2.2 header...
(War noch ein kleiner Fehler im 2.0-Header, also ersetzen.)
Not crunched with one of the supported crunchers !!
(Oder Datei ist überhaupt nicht gecruncht !)
Sorry, can't recrunch !
(Schau mich nicht so an!)
Process : Sorry, can't process file !
(Datei ist vielleicht keine Befehlsdatei)
Can't crunch file !
(Datei enthält nicht zu bearbeitende Hunks)
Script : Script buffer full !! Please stop recording.
(Script ist auf 80 Befehle beschränkt,
wähle 'Stop Recording')
--------------------------------------------------------------------------
6. Eine Beispielsitzung
-----------------------
Jetzt, wo ich die Fähigkeiten des PowerPacker erklärt habe, ist es Zeit
für eine kleine Vorführung. sagen wir mal, wir möchten den Befehl "CLI"
im System-Verzeichnis der Workbench 1.2 crunchen.
Wähle "Pointer" im Menü Prefs/Decrunch Color (als ich dies schrieb, war es
schon spät, und ich konnte nichts anderes mehr ertragen).
Setze die "Prefs" auf "Command File". Wähle nun "Load" im Project-Menü
(eine Dateiauswahlbox erscheint), lege die Workbench 1.2 ein, und wähle
"CLI" aus dem Verzeichnis "System". Du siehst nun eine Menge Hunk-
Informationen zum Befehl "CLI":
Loading command file 'df0:System/CLI'...
Hunk_header (0x03F3)
9 hunks (0 to 8).
Hunk 0 : Hunk_code (0x03E9) (524 bytes)
Hunk_reloc32 (0x03EC)
Hunk 1 : Hunk_data (0x03EA) (428 bytes, 0 BSS)
Hunk 2 : Hunk_code (0x03E9) (472 bytes)
Hunk_reloc32 (0x03EC)
Hunk 3 : Hunk_data (0x03EA) (52 bytes, 0 BSS)
Hunk 4 : Hunk_code (0x03E9) (16 bytes)
Hunk 5 : Hunk_code (0x03E9) (0 bytes)
Hunk 6 : Hunk_code (0x03E9) (196 bytes)
Hunk_reloc32 (0x03EC)
Hunk 7 : Hunk_code (0x03E9) (68 bytes)
Hunk_reloc32 (0x03EC)
Hunk 8 : Hunk_data (0x03EA) (0 bytes, 0 BSS)
Crunching command file...
Press left and right button to abort.
Crunching, please wait.
Während des Crunchens zeigt das Programm an, wieviel Prozent der Datei
bereits gecruncht wurden und wieviel Prozent dabei gewonnen wurden.
Nach einiger Zeit sieht der Bildschirm so aus:
100% crunched.
Done.
Original length : 2356 bytes.
Crunched length : 1204 (1776) bytes.
Gained 49% (1152 bytes) !
Jetzt mußt Du nur noch die Datei zurück auf Diskette speichern. Und jetzt
freue Dich über den gecrunchten Befehl "CLI".
--------------------------------------------------------------------------
7. PowerPacker 2.2a und der CLI
-------------------------------
Zu Deiner Bequemlichkeit habe ich außerdem noch zwei CLI-Befehle
programmiert, einen zum Crunchen, und den anderen zum Entcrunchen.
Achtung: Diese befehle wirkne nur auf DATEN-Dateien!!!
Um Befehlsdateien zu crunchen, mußt Du also auf jeden Fall den PowerPacker
benutzen.
Eine Syntaxbeschreibung erhältst Du durch Eingabe von "CRUNCH" oder
"DECRUNCH" ohne Parameter. Du erhältst ungefähr folgendes Ergebnis:
1>
1> crunch
POWER-PACKER 2.2a Data Cruncher.
Written by Nico François (POWER PEAK)
USAGE : Crunch <source> <destination> [efficiency (1-5) default 3] [P] [F]
Where P stands for no percentage, F for Forbid() crunching.
1>
1> decrunch
POWER-PACKER 2.2a Data Decruncher.
Written by Nico François (POWER PEAK)
USAGE : Decrunch <source> <destination> [decrunch color (0-4)]
With decrunch color 0/1 -> Color 0/1, 2 -> Pointer, 3 -> Scroll, 4 -> None
If <destination> is a * the file will be typed to Output().
1>
Diese Befehle sind nützlich, um sie in Deine Startup-Sequence aufzunehmen
oder, um gecrunchte Texte schnell durchzulesen.
Ich glaube nicht, daß diese beiden Befehle weitere Erläuterungen brauchen.
Sie arbeiten wie der CLI-befehl COPY. Probier einfach mal ein bißchen
damit herum und schau Dir an, was passiert. Wenn Du z.B. eine gecrunchte
Textdatei hast, dann wirkt der Befehl
Decrunch Text *
wie der CLI-befehl TYPE Text.
Viel Spaß !!!
--------------------------------------------------------------------------
P.S. Dieser Texte wird auf ungefähr 42% zusammengecruncht (58% Gewinn!)
Der PowerPacker 2.2a wurde von Nico François programmiert. (Jawoll, Nico
ist mein Vorname.)
Mein besonderer Dank gilt Pauwels Luc für die Icons und das Verfassen der
benutzeranleitung zur Version 2.0a,
sowie Tybergein Jorrit für die aufwendige Fehlersuche.
(c) 1989 Nico François / Power Peak
//
Ein Dank an \X/ Amiga dafür, der allerbeste Rechner aller Zeiten zu sein!